﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace DaliUsb
{
  /// <summary>
  /// Provides the capabilities of a HID device
  /// </summary>
  [StructLayout(LayoutKind.Sequential, Pack = 1)]
  internal struct HIDCaps
  {
    public short Usage;
    public short UsagePage;
    public short InputReportByteLength;
    public short OutputReportByteLength;
    public short FeatureReportByteLength;
    [MarshalAs(UnmanagedType.ByValArray, SizeConst = 17)]
    public short[] Reserved;
    public short NumberLinkCollectionNodes;
    public short NumberInputButtonCaps;
    public short NumberInputValueCaps;
    public short NumberInputDataIndices;
    public short NumberOutputButtonCaps;
    public short NumberOutputValueCaps;
    public short NumberOutputDataIndices;
    public short NumberFeatureButtonCaps;
    public short NumberFeatureValueCaps;
    public short NumberFeatureDataIndices;
  }
}
